package com.ssy.lingxi.after.sale.api.fallback;

import com.ssy.lingxi.after.sale.api.feign.ReturnGoodsControllerFeign;
import com.ssy.lingxi.after.sale.api.model.vo.request.*;
import com.ssy.lingxi.after.sale.api.model.vo.response.ReturnGoodsDetailListResponse;
import com.ssy.lingxi.after.sale.api.model.vo.response.ReturnGoodsInfoVO;
import com.ssy.lingxi.after.sale.api.model.vo.response.ReturnGoodsTaxVO;
import com.ssy.lingxi.common.response.ResponseCode;
import com.ssy.lingxi.common.response.Wrapper;
import org.springframework.web.bind.annotation.RequestParam;

import javax.validation.Valid;
import java.util.List;

public class ReturnGoodsControllerFallback implements ReturnGoodsControllerFeign {

    /**
     * 新增退货发货单
     * @author 伍将
     * @date 2020/9/24
     **/
    @Override
    public Wrapper<Long> addReturnDeliveryGoods(@Valid ReturnAddDeliveryGoodsVO addVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 删除退货发货单
     * @author 伍将
     * @date 2020/9/29
     **/
    @Override
    public Wrapper deleteReturnDeliveryGoods(@Valid CommonIdVO commonIdVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 审核退货发货单
     * @author 伍将
     * @date 2020/12/22
     **/
    @Override
    public Wrapper verifyReturnDeliveryGoods(@Valid VerifyDeliveryVO verifyVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 新增退货物流(退货-退货发货)
     * @author 伍将
     * @date 2020/9/24
     **/
    @Override
    public Wrapper addReturnLogistics(@Valid AddLogisticsVO addVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 审核退货物流单(退货-退货发货)
     * @author 伍将
     * @date 2020/9/24
     **/
    @Override
    public Wrapper verifyReturnLogistics(@Valid VerifyLogisticsVO verifyVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 新增退货入库单
     * @author 伍将
     * @date 2020/9/24
     **/
    @Override
    public Wrapper addReturnGoodsStorage(@Valid ReturnAddStorageVO addVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 删除退货入库单
     * @author 伍将
     * @date 2020/9/29
     **/
    @Override
    public Wrapper deleteReturnGoodsStorage(@Valid CommonIdVO commonIdVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 审核退货入库单
     * @author 伍将
     * @date 2020/12/22
     **/
    @Override
    public Wrapper verifyReturnGoodsStorage(@Valid VerifyDeliveryVO verifyVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 查询退货订单发票
     * @author 伍将
     * @date 2021/1/27
     **/
    @Override
    public Wrapper<List<String>> getOrderList(@RequestParam("applyNo") String applyNo) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 查询是否允许支付
     * @author 伍将
     * @date 2021/1/28
     **/
    @Override
    public Wrapper isAllowPay(@Valid AllowPayVO payVO) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 根据退货订单ids,查询退货订单信息（状态）列表
     * @author ds
     * @date 2021/4/9
     **/
    @Override
    public Wrapper<List<ReturnGoodsInfoVO>> getOrderInfoListByIds(@Valid List<Long> returnGoodsIds) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 根据合同编号，查询合同下的退款单列表
     * @param request
     * @return
     */
    @Override
    public Wrapper<List<ReturnGoodsDetailListResponse>> getOrderListByContractId(ReturnListGoodsDetailVO request) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }

    /**
     * 根据订单id，skuid 查询退款单明细信息列表
     * @param request
     * @return
     */
    @Override
    public Wrapper<List<ReturnGoodsTaxVO>> getOrderInfoListByIdsAndSkuIds(@Valid ReturnDetailReqVO request) {
        return Wrapper.fail(ResponseCode.SERVICE_AFTER_SALE_ERROR);
    }
}
